package cn.lingyangwl.agile.pay.common.manager;

import cn.lingyangwl.agile.pay.common.model.mq.MchNotifyMQ;
import cn.lingyangwl.agile.pay.common.model.mq.RefundOrderMQ;
import cn.lingyangwl.agile.pay.common.model.mq.PayOrderCloseMQ;
import cn.lingyangwl.agile.pay.common.model.mq.ResetIsvMchAppInfoConfigMQ;

/**
 * @author shenguangyang
 */
public interface PayMqSender {
    /**
     * 发送延时消息, 关闭超时未支付的订单(反向查询支付平台)
     */
    void send(PayOrderCloseMQ data);

    /**
     * 发送延时小时, 修改已经退款成功的订单(反向查询支付平台)
     */
    void send(RefundOrderMQ data);

    void send(ResetIsvMchAppInfoConfigMQ data);

    /**
     * 通知延时次数
     *
     * 1   2  3  4   5   6
     * 0  30 60 90 120 150
     */
    void sendDelay(MchNotifyMQ data, int delay);
}
